package com.xbongbong.paas.field;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

/**
 * 数据联动多条件
 * @author: xingxing.xiao
 * @date: 2020/07/23 09:55
 */
@Getter
@Setter
@ToString
public class RelyConditionPoJo implements Serializable {

    private static final long serialVersionUID = -8828924293534066993L;
    /**
     * 当前联动的字段，如果是子表单数据时，其格式为subForm_1.text_1，需要解析掉
     */
    @NotEmpty(message = "请设置联动字段")
    private String displayField;
    /**
     * 目标表单字段类型，这个字段可能为空
     */
    private Integer displayFieldType;

    /**
     * 联动字段需要等于的字段
     */
    @NotEmpty(message = "请设置联动比较字段")
    private String targetField;

    /**
     * 目标表单字段类型，这个字段可能为空
     */
    private Integer targetFieldType;

    /**
     * 操作标示，比如等于，不等于，大于，小于等等
     * @see com.xbongbong.paas.enums.ConditionEnum
     */
    private String symbol;

    /**
     * 值类型，1表示动态值，2表示固定值
     * @see com.xbongbong.pro.enums.businessrule.enums.RuleValueTypeEnum
     */
    private Integer valueType;

    /**
     * 固定值类型的值
     */
    private Object value;

    public RelyConditionPoJo() {
    }

    public RelyConditionPoJo(@NotEmpty(message = "请设置联动字段") String displayField, Integer displayFieldType, @NotEmpty(message = "请设置联动比较字段") String targetField, Integer targetFieldType) {
        this.displayField = displayField;
        this.displayFieldType = displayFieldType;
        this.targetField = targetField;
        this.targetFieldType = targetFieldType;
    }
}
